ZebulonT - 23 Janvier 2008, 12:20
Salut jchouix,
J'aimerai pouvoir limiter la taille des fichiers en upload pour les rédacteurs avec l'ajout d'un code du genre :
Dans le formulaire html qui permet l'upload :
<form method="POST" action="upload.php" enctype="multipart/form-data"> <!-- On limite le fichier à 100Ko --> <input type="hidden" name="MAX_FILE_SIZE" value="100000"> Fichier : <input type="file" name="fichier"> <input type="submit" name="envoyer" value="Envoyer le fichier"> </form>
<?php // taille maximum (en octets) $taille_maxi = 100000; //Taille du fichier $taille = filesize($_FILES['fichier']['tmp_name']); if($taille>$taille_maxi) { $erreur = 'Le fichier est trop gros...'; } ?>
jchouix - 23 Janvier 2008, 12:55
bonjour,
les modifs sont à faire dans les deux fichiers suivants :
1)dans le fichier upload.php situé dans le répertoire plugins/adm_redacteurs/editors/upload/
2)dans le fichier upload.inc situé dans le répertoire plugins/adm_redacteurs/inc/
A+
ZebulonT - 23 Janvier 2008, 17:52
OK, merci beaucoup pour l'info, je vais essayer de coder cela...
Je te tiens au courant de mes essais...
A+
mirmoleboss - 25 Janvier 2008, 12:28
Bonjour
alors as tu reussit?
Amicalement
ZebulonT - 25 Janvier 2008, 14:34
Bonjour,
Non mais j'avoue que je n'ai pas encore pris le temps d'essayer... lol
A+
mirmoleboss - 25 Janvier 2008, 16:48
ok mais je peux regarder si tu veux?
moi cela minteresse aussi
ZebulonT - 25 Janvier 2008, 17:34
jchouix - 27 Janvier 2008, 21:58
bonsoir,
je vais vous aider un peu :
Dans le fichier upload.php situé dans le répertoire plugins/adm_redacteurs/editors/upload/, le formulaire qui gère l'upload se situe entre les lignes 623 et 631.
Pour les tests sur le fichier uploadé, cela se passe entre les lignes 225 et 236.
Si le test est faux alors vous affectez la valeur 1 à la variable $pagerror et le message d'erreur affiché sera contenu dans la variable $erreur.
Par exemple, j'ai testé si le nom du fichier existait déjà pour éviter l'écrasement des fichiers.
J'ai écrit ceci :
if (file_exists(CHEMIN.$rep.'/'.$_FILES['ficup']['name'])){ $pagerror = 1; $erreur = $lang_upload[6]; }
ZebulonT - 27 Janvier 2008, 23:43
Salut jchouix,
Merci pour le jeu de piste...
A+
mirmoleboss - 28 Janvier 2008, 0:15
merci à toi
je regarde ca dans la semaine , j'ai moi aussi pas mal de boulot.
je developpe mes plugins aussi (enfin des forks on va dire) donc je sais plus ou donner de la tàªte masi je vais le faire.
puis j'aimerais faire en sorte que chaque redacteurs n'est pas le droit de stocker plus de 15mo
a+
jchouix - 28 Janvier 2008, 0:27
re-,
j'espère que vous mettrez tous les deux vos solutions ici-màªme pour aider ceux qui voudraient faire la màªme chose.
Cordialement.
A+
mirmoleboss - 28 Janvier 2008, 9:33
Bonjour,
Cela va de soi
ZebulonT - 04 Février 2008, 22:44
Bonjour jchouix,
J'ai en fin pris le temps d'essayer de coder les modifs pour limiter la tailles des fichiers en upload...
Voici le code auquel je suis arrivé :
D'abord dans le fichier /plugins/adm_redacteurs/editors/upload/upload.php
=> Ajout après la ligne 79
//INITIALISATION DES VARIABLES DE CONFIGURATION POUR UPLOAD (A NE SURTOUT PAS MODIFIER !!) $pathRepUpload = 'plugins/adm_redacteurs/editors/'; $allowedUpload = false; $allowedCreateRep = false; $allowedRenameRepFile = false; $allowedDeleteRepFile = false; $allowedExtFileUpload = array(); $deniedExtFileUpload = array(); //Ajout de ZebulonT $maxFileSizeUpload = '300000'; //Taille maximale des fichiers en upload (en octets) //Fin ajout de ZebulonT
if((count($allowedExtFileUpload) > 0 && !in_array(strrchr($_FILES['ficup']['name'],'.'),$allowedExtFileUpload)) || (count($deniedExtFileUpload) > 0 && in_array(strrchr($_FILES['ficup']['name'],'.'),$deniedExtFileUpload))) { //AUTORISATION EXTENSION DU FICHIER $pagerror = 1; $erreur = $lang_upload[21]; } //Ajout de ZebulonT //Controle de la taille des fichiers if (filesize($_FILES['ficup']['tmp_name']) > $maxFileSizeUpload) { $pagerror = 1; //$erreur = $lang_upload[39]; $erreur = 'Echec car la taille du fichier est supérieure à la taille permise !...'; } //Fin ajout de ZebulonT
//UPLOAD DES FICHIERS if($allowedUpload == true) { //AUTORISATION if ((isset($redacprefs['rwritfile']) && $redacprefs['rwritfile'] == "On" && $redacprefs['rwritcatfile'] == "On") || (isset($redacprefs['rwritfile']) && $redacprefs['rwritfile'] == "On" && $redacprefs['rwritcatfile'] != "On" && ereg('^('.implode($accessRepUpload,'|').')/'.$redacprefs['rnamecatfile'],$rep))) { //AUTORISATION REDACTEUR echo '<form name="uploadit" enctype="multipart/form-data" action="upload.php?lng='.$lng.'" method="post" onsubmit="return UploadValid(this,\'ficup\');" >'; echo '<input type="hidden" name="rep" value="'.$rep.'" />'; echo '<input type="hidden" name="upvalid" value="ok" />'; echo '<input type="hidden" name="uptype" value="'.$uptype.'" />'; echo '<input type="hidden" name="pathconfig" value="'.$pathRepUploadConfig.'" />'; echo '<input type="hidden" name="namerepconfig" value="'.$nameRepUploadConfig.'" />'; //Ajout de ZebulonT //Si on limite la taille des fichiers en upload ici... Alors il n'y a pas de message d'erreur !... //echo '<input type="hidden" name="MAX_FILE_SIZE" value="'.$maxFileSizeUpload.'">'; echo '<div class="labelupload">Attention : la taille des fichiers en upload est limitée à '.$maxFileSizeUpload / 1000 .' Ko !</div>'; //On affiche un avertissement à propos de la taille maximale autorisée pour les fichiers en upload... //Fin ajout de ZebulonT
jchouix - 05 Février 2008, 9:23
bonjour ZebulonT,
je trouve que c'est du très bon boulot.
Pour le rajout dans le fichier de langue, cela m'étonne un peu que cela ne marche pas.
Je vais regarder ce qui cloche de ce coté là .
Merci encore pour ta collaboration.
A+
ZebulonT - 05 Février 2008, 12:16
Bonjour jchouix,